import request from '@/utils/request'

/**
 * Excel导入导出相关API
 */
export const excelApi = {
  /**
   * 下载Excel模板
   * @param {string} templateType - 模板类型 (workOrder, device, etc.)
   * @param {Array} customColumns - 自定义列配置
   */
  downloadTemplate: (targetModelName) => {
    return request.post('/generic-excel-processing/export-template', {
      targetModelName : targetModelName
    }, {
      responseType: 'blob'
    })
  },

  /**
   * 上传Excel文件进行导入
   * @param {File} file - Excel文件
   * @param {Object} importConfig - 导入配置
   */
  uploadExcel: (file, importConfig) => {
    const formData = new FormData()
    formData.append('file', file)
    formData.append('config', JSON.stringify(importConfig))
    console.log("12312312312312312312312312312312312312312312")
    console.log(formData)
    return request.post('/generic-excel-processing/import-file-entity', formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  },

  /**
   * 预览Excel数据
   * @param {File} file - Excel文件
   * @param {Object} previewConfig - 预览配置
   */
  previewExcel: (file, previewConfig) => {
    const formData = new FormData()
    formData.append('file', file)
    formData.append('config', JSON.stringify(previewConfig))
    
    return request.post('/excel/preview', formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  },

  /**
   * 导出Excel文件
   * @param {Object} exportConfig - 导出配置
   */
  exportExcel: (exportConfig) => {
    return request.post('/excel/export', exportConfig, {
      responseType: 'blob'
    })
  },

  /**
   * 获取可用的Excel模板列表
   */
  getTemplateList: () => {
    return request.get('/excel/templates')
  },

  /**
   * 验证Excel数据
   * @param {Object} validationConfig - 验证配置
   */
  validateExcelData: (validationConfig) => {
    return request.post('/excel/validate', validationConfig)
  }
}

export default excelApi

